前面分別講了資料儲存的最小單元、硬碟陣列怎麼做備份以及提高可用性,接下來安迪想講的是儲存系統架構 - DAS、NAS和SAN
DAS(Direct Attach Storage) - 本地的檔案系統
DAS可以理解為就是本地的磁碟陣列,透過USB,你的個人電腦或伺服器就可以連結到這個磁碟陣列,根據RAID卡,進行相應的備份,當然,他的缺點就是需要有一條實體USB線,且擴充容量等比較麻煩。
NAS - 網路上的檔案系統
接下來會分享兩個常用的雲端基礎架構NAS和SAN的原理和不同之處,NAS和SAN都是利用網路來連接的,簡單來說NAS適合在家裡使用或小範圍同個網段下使用,而SAN適合大範圍甚至外網使用。
從NAS說起,NAS的原理就是之前提到的File storage,只是我們一般在使用Windows的時候,硬碟都在電腦裡的,不透過網路就可以直連,NAS就是一個把硬碟抽離出來,放在網路上,透過網路存取硬碟的技術架構。
下圖是NAS的架構
我們可以看到,是什麼東西在網路上傳遞呢?是檔案系統的指令,我們雖然只需要告訴檔案系統路徑+檔案名稱即可,但是檔案open需要讀吧,所以傳遞了open指令、read指令等,這些都需要網路傳輸,相比於SAN(下一篇會講)把這些都做在主機上,記憶體的傳輸效率一定比網路高。
用人話說就是 - 程式跟自己的電腦說,幫我把/mnt/nas.txt傳到電腦的記憶體,這些話都透過TCP/IP傳輸,然後NAS上的檔案系統根據這個檔案找到佔用了哪個扇區,從本身的server的硬碟找檔案。
優點
缺點
SAN - 網路上的硬碟
安迪的工作就是開發公司的SAN產品,所以安迪對他比較了解。
SAN就是空出一個網路區域,讓硬碟機櫃互相連接,網絡專給I/O使用的一塊區域網絡,外部的伺服器或個人電腦可以透過網路的方式連進去存取資料。
下圖是SAN的架構
從上圖可以看出,有別於NAS,SAN就是個block storage,接受block storage的指令,回傳資料,檔案系統的指令和演算法是在前端主機完成的。
用白話文說就是 - 程式跟自己的電腦說,幫我把/mnt/san.txt傳到電腦的記憶體,檔案系統會計算這個檔案的LBA地址和長度,然後把這個資訊傳給SAN。
我們可以看到SAN有別於NAS,他在網路傳遞的是I/O指令,透過iSCSI或是NVMe包裝,所以速度較NAS快。
優點
缺點
更多關於vSAN的文章,可以參考我的部落格: https://kaichiachen.github.io/2023/06/04/vsan/storage_protocol_overview/